/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package roshambo;

import example.players.AllPaper;
import example.players.AllRock;
import example.players.AllScissors;
import example.players.AverageJoe;
import example.players.BayesPlayer;
import example.players.DoContra;
import example.players.DoubleMemento;
import example.players.FabianPlayer;
import example.players.Girlfriend;
import example.players.IvanCicle;
import example.players.IvanEquilibrium;
import example.players.IvanPlayer;
import example.players.Memento;
import example.players.PerceptronPlayer;
import example.players.QBot;
import example.players.RandomPlayer;
import example.players.RegretMinPlayer;
import rafael.bot.MasterRafael;
import rafael.bot.Rafael;
import rafael.bot.RafaelSlave;

/**
 *
 * @author Lima
 */
public class Run {

    public static void main(String[] args) throws Exception {
        Roshambo game = new Roshambo();
        int games = 100000;
        int memory = 2;
        game.addPlayer(new AllPaper());
        game.addPlayer(new AllRock());
        game.addPlayer(new AllScissors());
        game.addPlayer(new AverageJoe());
        game.addPlayer(new BayesPlayer(memory));
        game.addPlayer(new DoContra());
        game.addPlayer(new DoubleMemento(memory));
        game.addPlayer(new Girlfriend(memory, 2, 2));
        game.addPlayer(new FabianPlayer());
        game.addPlayer(new IvanCicle());
        game.addPlayer(new IvanEquilibrium());
        game.addPlayer(new IvanPlayer());
        game.addPlayer(new MasterRafael(memory));
        game.addPlayer(new Memento(memory));
        game.addPlayer(new PerceptronPlayer(memory));
        game.addPlayer(new QBot());
        game.addPlayer(new Rafael(memory));
        game.addPlayer(new RafaelSlave(memory));
        game.addPlayer(new RandomPlayer());
        game.addPlayer(new RegretMinPlayer());

        game.start(games);
    }
}
